package com.apps.java.Lambda;

/*
    案例：Lambda表达式的练习2
    需求：
        1.定义一个接口(Flyable),里面定义一个抽象方法：void fly(String s);
        2.定义一个测试类，在测试类中提供两个方法
            一个是useFlyable(Flyable f);
            一个是主方法调用useFlyable

 */

public class FlyableDemo {
    public static void main(String[] args) {
        //调用useFlyable方法
        Flyable f = new FlyableImpl();
        useFlyable(f);

        //匿名内部类
        useFlyable(new Flyable() {
            @Override
            public void fly(String s) {
                System.out.println(s + "飞飞飞");
            }
        });

        //Lambda表达式
        useFlyable((String s) -> {
            System.out.println(s + "旋风陀螺无敌飞飞飞");
        });

    }

    //定义useFlyable(Flyable f)
    public static void useFlyable(Flyable f){
        f.fly("何锟");
    }
}
